﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace DataStructures
{
	public class TreeList<Element> : List<ITree<Element>>, ITreeList<Element>
	{
		public ITree<Element> Parent { get; set; }
		public new ITree<Element> Add(ITree<Element> tree)
		{
			base.Add(tree);
			tree.Parent = Parent;
			return tree;
		}
		public ITree<Element> Add(Element value)
		{
			return Add(new Tree<Element>(value));
		}
		public new ITree<Element> Find(Predicate<ITree<Element>> predicate)
		{
			return base.Find(predicate);
		}
	}
}
